<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="600"
   height="650"
   id="svg2"
   version="1.1"
   inkscape:version="0.48.0 r9654"
   sodipodi:docname="XKBlib-21.svg"
   inkscape:export-filename="/home/fcarrijo/Desktop/XKBlib-21.png"
   inkscape:export-xdpi="156.71965"
   inkscape:export-ydpi="156.71965">
  <defs
     id="defs4">
    <marker
       inkscape:stockid="DotM"
       orient="auto"
       refY="0"
       refX="0"
       id="DotM"
       style="overflow:visible">
      <path
         id="path4666"
         d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
         transform="matrix(0.4,0,0,0.4,2.96,0.4)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lstart"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lstart"
       style="overflow:visible">
      <path
         id="path4619"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(1.1,0,0,1.1,1.1,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend"
       style="overflow:visible">
      <path
         id="path4622"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-9"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-4"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-0"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-6"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-95"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-61"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-4"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-3"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-2"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-7"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-3"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-9"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-44"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-49"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-38"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-32"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-5"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-43"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lstart"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lstart-4"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4619-9"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(1.1,0,0,1.1,1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-55"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-73"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lstart"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lstart-0"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4619-7"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(1.1,0,0,1.1,1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-27"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-2"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-05"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-0"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-1"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-79"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-1-6"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-79-2"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-1-6-2"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-79-2-5"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-1-6-9"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-79-2-1"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-1-6-8"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-79-2-7"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend-1-6-5"
       style="overflow:visible">
      <path
         inkscape:connector-curvature="0"
         id="path4622-79-2-2"
         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
  </defs>
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="0.58961827"
     inkscape:cx="294.74298"
     inkscape:cy="309.49556"
     inkscape:document-units="px"
     inkscape:current-layer="layer2"
     showgrid="false"
     inkscape:window-width="1016"
     inkscape:window-height="718"
     inkscape:window-x="0"
     inkscape:window-y="0"
     inkscape:window-maximized="1" />
  <metadata
     id="metadata7">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:groupmode="layer"
     id="layer2"
     inkscape:label="Vetorial"
     style="display:inline">
    <g
       id="g4480"
       transform="translate(-2.1200027,0)">
      <rect
         y="13.571282"
         x="220.05763"
         height="79.712593"
         width="146.70508"
         id="rect3623-8"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070"
         y="26.553555"
         x="293.30469"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           y="26.553555"
           x="293.30469"
           id="tspan3072"
           sodipodi:role="line">Augment names to</tspan><tspan
           id="tspan3074"
           y="41.553555"
           x="293.30469"
           sodipodi:role="line">supply component</tspan><tspan
           id="tspan3076"
           y="56.553555"
           x="293.30469"
           sodipodi:role="line">names required by</tspan><tspan
           id="tspan3078"
           y="71.553558"
           x="293.30469"
           sodipodi:role="line">want and need but not</tspan><tspan
           id="tspan3080"
           y="86.553558"
           x="293.30469"
           sodipodi:role="line">supplied in request</tspan></text>
    </g>
    <g
       id="g4491"
       transform="translate(7.6293945e-6,0)">
      <rect
         y="187.83658"
         x="216.24161"
         height="71.232536"
         width="150.09711"
         id="rect4489"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4"
         y="204.07883"
         x="291.04114"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           y="204.07883"
           x="291.04114"
           id="tspan3072-6"
           sodipodi:role="line">Augment names to</tspan><tspan
           id="tspan3080-1"
           y="219.07883"
           x="291.04114"
           sodipodi:role="line">supply required com-</tspan><tspan
           id="tspan3128"
           y="234.07883"
           x="291.04114"
           sodipodi:role="line">ponent names not sup-</tspan><tspan
           id="tspan3126"
           y="249.07883"
           x="291.04114"
           sodipodi:role="line">plied in request</tspan></text>
    </g>
    <g
       id="g4501">
      <rect
         y="197.16464"
         x="463.01144"
         height="58.512432"
         width="79.712593"
         id="rect4499"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7"
         y="215.89449"
         x="502.67731"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3126-2"
           y="215.89449"
           x="502.67731"
           sodipodi:role="line">Keyboard</tspan><tspan
           id="tspan3171"
           y="230.89449"
           x="502.67731"
           sodipodi:role="line">Component</tspan><tspan
           id="tspan3173"
           y="245.89449"
           x="502.67731"
           sodipodi:role="line">Database</tspan></text>
    </g>
    <text
       xml:space="preserve"
       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
       x="351.73218"
       y="128.97385"
       id="text3070-4-7-8"
       sodipodi:linespacing="125%"><tspan
         sodipodi:role="line"
         x="351.73218"
         y="128.97385"
         id="tspan3173-4">False</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
       x="310.94876"
       y="172.80606"
       id="text3070-4-7-8-7"
       sodipodi:linespacing="125%"><tspan
         sodipodi:role="line"
         x="310.94876"
         y="172.80606"
         id="tspan3173-4-8">True</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
       x="311.55521"
       y="440.59149"
       id="text3070-4-7-8-7-6"
       sodipodi:linespacing="125%"><tspan
         sodipodi:role="line"
         x="311.55521"
         y="440.59149"
         id="tspan3173-4-8-3">True</tspan></text>
    <text
       xml:space="preserve"
       style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
       x="231.23619"
       y="392.4397"
       id="text3070-4-7-8-77"
       sodipodi:linespacing="125%"><tspan
         sodipodi:role="line"
         x="231.23619"
         y="392.4397"
         id="tspan3173-4-2">False</tspan></text>
    <g
       id="g4519"
       transform="translate(0.84801102,0)">
      <rect
         y="290.44534"
         x="229.80971"
         height="67.8405"
         width="121.2649"
         id="rect4517"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-7-6-3"
         y="306.33923"
         x="290.62381"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-8-3-7"
           y="306.33923"
           x="290.62381"
           sodipodi:role="line">Build keyboard</tspan><tspan
           id="tspan3303"
           y="321.33923"
           x="290.62381"
           sodipodi:role="line">description from</tspan><tspan
           id="tspan3305"
           y="336.33923"
           x="290.62381"
           sodipodi:role="line">expressions in</tspan><tspan
           id="tspan3307"
           y="351.33923"
           x="290.62381"
           sodipodi:role="line">names</tspan></text>
    </g>
    <g
       id="g4510">
      <rect
         y="294.68536"
         x="454.53137"
         height="56.816422"
         width="97.520721"
         id="rect4508"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-7-6-3-2"
         y="311.40411"
         x="503.2478"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3307-6"
           y="311.40411"
           x="503.2478"
           sodipodi:role="line">New Keyboard</tspan><tspan
           id="tspan3348"
           y="326.40411"
           x="503.2478"
           sodipodi:role="line">Description</tspan><tspan
           id="tspan3350"
           y="341.40411"
           x="503.2478"
           sodipodi:role="line">(Temporary)</tspan></text>
    </g>
    <g
       id="g4586"
       transform="translate(-1.1798446,0)">
      <rect
         transform="matrix(0.86355474,-0.5042551,0.86355474,0.5042551,0,0)"
         y="286.01212"
         x="12.546584"
         height="40.122799"
         width="40.122799"
         id="rect4566"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.07155609;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-8"
         y="142.37003"
         x="292.44949"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-1"
           y="142.37003"
           x="292.44949"
           sodipodi:role="line">load</tspan></text>
    </g>
    <g
       id="g4591"
       transform="translate(-1.2719908,0)">
      <rect
         transform="matrix(0.86355474,-0.5042551,0.86355474,0.5042551,0,0)"
         y="551.6828"
         x="-253.0174"
         height="40.122799"
         width="40.122799"
         id="rect4566-1"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.07155609;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-8-3"
         y="410.2478"
         x="292.54166"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-1-6"
           y="410.2478"
           x="292.54166"
           sodipodi:role="line">load</tspan></text>
    </g>
    <g
       id="g4529">
      <rect
         y="456.65457"
         x="437.57126"
         height="42.400314"
         width="136.52901"
         id="rect4527"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-8-3-4"
         y="473.49829"
         x="505.76251"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-1-6-0"
           y="473.49829"
           x="505.76251"
           sodipodi:role="line">Keyboard Description</tspan><tspan
           id="tspan3415"
           y="488.49829"
           x="505.76251"
           sodipodi:role="line">for device_spec</tspan></text>
    </g>
    <g
       id="g4537">
      <rect
         y="555.02332"
         x="468.09946"
         height="71.232529"
         width="79.712593"
         id="rect4535"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-8-3-4-3"
         y="572.61322"
         x="507.87958"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-1-6-0-5"
           y="572.61322"
           x="507.87958"
           sodipodi:role="line">Keyboard</tspan><tspan
           id="tspan3441"
           y="587.61322"
           x="507.87958"
           sodipodi:role="line">Description</tspan><tspan
           id="tspan3415-8"
           y="602.61322"
           x="507.87958"
           sodipodi:role="line">returned to</tspan><tspan
           id="tspan3443"
           y="617.61322"
           x="507.87958"
           sodipodi:role="line">Client</tspan></text>
    </g>
    <g
       id="g4547"
       transform="translate(0,6)">
      <rect
         y="546.54321"
         x="217.08961"
         height="80.5606"
         width="148.40111"
         id="rect4545"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-8-3-4-3-5"
         y="561.29712"
         x="291.27551"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3443-8"
           y="561.29712"
           x="291.27551"
           sodipodi:role="line">Build keyboard</tspan><tspan
           id="tspan3484"
           y="576.29712"
           x="291.27551"
           sodipodi:role="line">description for client</tspan><tspan
           id="tspan3486"
           y="591.29712"
           x="291.27551"
           sodipodi:role="line">by extracting struc-</tspan><tspan
           id="tspan3488"
           y="606.29712"
           x="291.27551"
           sodipodi:role="line">tures specified in want</tspan><tspan
           id="tspan3490"
           y="621.29712"
           x="291.27551"
           sodipodi:role="line">and need</tspan></text>
    </g>
    <g
       id="g4558"
       transform="translate(0.84801483,0)">
      <rect
         y="453.26254"
         x="215.3936"
         height="69.536514"
         width="150.09711"
         id="rect4556"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-8-3-4-3-5-0"
         y="468.84134"
         x="290.28979"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3490-1"
           y="468.84134"
           x="290.28979"
           sodipodi:role="line">Replace device_spec</tspan><tspan
           id="tspan3539"
           y="483.84134"
           x="290.28979"
           sodipodi:role="line">active keyboard</tspan><tspan
           id="tspan3541"
           y="498.84134"
           x="290.28979"
           sodipodi:role="line">description with newly</tspan><tspan
           id="tspan3543"
           y="513.84131"
           x="290.28979"
           sodipodi:role="line">built description</tspan></text>
    </g>
    <g
       id="g5219">
      <rect
         y="173.42047"
         x="22.048164"
         height="97.520721"
         width="97.520721"
         id="rect3623"
         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-2"
         y="188.07018"
         x="70.925713"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-0"
           y="188.07018"
           x="70.925713"
           sodipodi:role="line">Initial Request:</tspan></text>
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-2-0"
         y="203.38049"
         x="70.8554"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-0-6"
           y="203.38049"
           x="70.8554"
           sodipodi:role="line">device_spec</tspan></text>
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-2-3"
         y="218.98961"
         x="70.559502"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-0-9"
           y="218.98961"
           x="70.559502"
           sodipodi:role="line">names</tspan></text>
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-2-08"
         y="235.3194"
         x="70.703056"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-0-3"
           y="235.3194"
           x="70.703056"
           sodipodi:role="line">want</tspan></text>
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-2-8"
         y="251.14238"
         x="70.808525"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-0-7"
           y="251.14238"
           x="70.808525"
           sodipodi:role="line">need</tspan></text>
      <text
         sodipodi:linespacing="125%"
         id="text3070-4-7-8-2-31"
         y="266.61966"
         x="70.788017"
         style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans"
         xml:space="preserve"><tspan
           id="tspan3173-4-0-0"
           y="266.61966"
           x="70.788017"
           sodipodi:role="line">load</tspan></text>
      <path
         sodipodi:nodetypes="cc"
         inkscape:connector-curvature="0"
         id="rect3623-0"
         d="m 22.048165,192.49828 97.520725,0"
         style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
      <path
         sodipodi:nodetypes="cc"
         inkscape:connector-curvature="0"
         id="rect3623-0-5"
         d="m 22.048163,207.97556 97.520727,0"
         style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
      <path
         sodipodi:nodetypes="cc"
         inkscape:connector-curvature="0"
         id="rect3623-0-5-0"
         d="m 22.048163,223.45283 97.520727,0"
         style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
      <path
         sodipodi:nodetypes="cc"
         inkscape:connector-curvature="0"
         id="rect3623-0-5-3"
         d="m 22.048165,238.9301 97.520725,0"
         style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
      <path
         sodipodi:nodetypes="cc"
         inkscape:connector-curvature="0"
         id="rect3623-0-5-1"
         d="m 22.048164,254.4074 97.520726,0"
         style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
    </g>
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 291.26298,93.8148 0,23.09757"
       id="path4596"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 291.25314,158.03258 0,27.7286"
       id="path4596-2"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 290.00054,259.8264 0,28.82818"
       id="path4596-5"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 291.69655,357.34714 0,27.33761"
       id="path4596-1"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 291.27254,426.03561 0,26.3722"
       id="path4596-7"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 366.67199,321.83919 79.19142,0"
       id="path4596-1-3"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 372.96935,478.72034 56.53217,0"
       id="path4596-1-3-2"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 373.27487,571.15303 84.94818,0"
       id="path4596-1-3-2-9"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 291.69655,523.61506 0,26.3722"
       id="path4596-7-9"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend)"
       d="m 121.18964,215.11041 90.94563,0"
       id="path4596-1-3-9"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend)"
       d="M 120.73642,210.73275 214.22607,97.947914"
       id="path4596-1-3-9-9"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cc" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 119.41547,218.80642 106.32762,70.80852"
       id="path4596-1-3-4"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cc" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker-end:url(#Arrow2Lend-1)"
       d="m 255.4428,405.01124 -70.75645,0 0,126.89959 104.75645,0"
       id="rect5774"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cccc" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker-end:url(#Arrow2Lend-1)"
       d="m 327.42324,137.27454 70.75645,0 0,130.89959 -104.75645,0"
       id="rect5774-1"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cccc" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-1-6)"
       d="M 459.69356,256.35107 356.79809,290.5477"
       id="path6017"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cc" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-1-6)"
       d="m 449.84239,354.00854 -76.838,95.35899"
       id="path6017-3"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cc" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-1-6)"
       d="M 456.8343,359.38127 370.07592,546.46615"
       id="path6017-3-8"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cc" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-1-6);display:inline"
       d="M 100.49427,230.62118 214.64454,548.15782"
       id="path6017-3-0"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cc" />
    <path
       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-1-6);display:inline"
       d="M 95.536492,246.63398 209.68676,569.25866"
       id="path6017-3-0-7"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cc" />
  </g>
</svg>
